(Sometimes installed as "mail" instead of "v6mail")
The first form of the v6mail command (no arguments or exactly one which is a switch "-y" or "-n") shows you any new mail which is in your MMDF mailbox. The original Bell Labs mail command lists the contents of the entire mailbox and then asks if you want it all saved. If you indicate yes, then it is added (pre-pended) to the file "mbox" in your login directory. The v6mail command behaves similarly, except that it queries you about the handling of each message, rather than all of them together, and the messages are appended to the end of mbox. If a switch "-y" or "-n" is specified, then it is taken to be the response to the "Save?" queries. To delete a message, you must answer the query with a wording starting with "n". Any other response (including an emply line) will cause the message to be saved in mbox. Aborting the command will leave your mailbox and mbox untouched.
The second form of the v6mail command creates and sends a message to the indicated recipient(s). Headers for the message are created automatically and, optionally, as indicated by certain command arguments as explained below. These headers are created in the order implied by the parameter list. (Note that this can cause multiple header-components of the same name to be created, separated by other components.) A "Date:" component is always created, containing the creation date and time of the message. The text body of the message is read from standard input. The message which is sent conforms to current Arpanet standards and can be manipulated by systems such as msg and MH. No draft message is created; so the message may not be edited after initial creation and before it is sent.
When parameters are not preceded by a switch parameter (i.e., one with a dash as its first character) they are taken to be primary addressees for the mail. These addressees are then listed in the message's "To:" component(s).
A recipient address may consist of the login name of a local user (e.g., "Joe" or "Smith"), an alias which is contained in the aliases file (e.g., Project-Leaders) or a full network name (e.g., "smith@a.cs.okstate.edu"). Obviously, use of network addresses requires the availability of a network, although reference to the local host (the one you are using) is always allowed.
V6mail looks for an optional file called ".signature" in the user's home directory and fills in the signature in the "From:" or "Sender:" component that corresponds to the user. (Make sure that ".signature" contains one line and that the contents are in double quotes if they contain non-alphanumeric characters.)
The "-t" switch causes following parameters to (again) be used as addressees in the "To:" header. Normally, therefore, the switch is not needed.
The "-c" switch causes following parameters to be used as addressees and listed in a "cc:" (carbon copy) header. This is in effect until the next switch parameter is encountered.
The "-s" switch causes the next single parameter to be used as the text of a "Subject:" component of the message. Note that to include more than one word as text, the text must be surrounded by quotation marks.
The "-a" switch causes the next single parameter to be used as the text of a "Reply-to:" component of the message. Note that to include more than one word as text, the text must be surrounded by quotation marks.
The "-g" switch causes the next single parameter to be used as the text of the signature in the "From:" component of the message. Note that to include more than one word as text, the text must be surrounded by quotation marks. Only the first occurence of either "-f" or "-g" is used.
The "-f" switch causes the next single parameter to be used as the text of a "From:" component of the message. If this is used, then a "Sender:" component will automatically be created and contain the address of the user who is actually running the v6mail program. This is necessary to guarantee authentication of mail. This switch is useful when an agent, such as a daemon process or a secretary, is logged in under your name and wants to indicate that the agent, rather than you, issued the note. Only the first occurence of either "-f" or "-g" is used.
The "-i" switch instructs v6mail to include a "Message-Id:" component, containing a unique message identification string. For current usage, this is not normally needed.
The "-r" switch instructs v6mail to ignore any problems with delivery. Normally, the "-r" switch is omitted and the sender is notified of any delays or failures in the delivery process.
The "--" switch can be used to pass arguments on to MMDF's submit program which is responsible for actually processing (sending) mail. Only one "--" switch setting may be used and it may contain several values to be passed to submit. If more than one "--" switch is specified, the last one will be used. It is generally unlikely that you will need to use this feature; however, two switches might prove useful: "--y" causes the message to be sent to the user's terminal, if the user is logged in and the user's screen is writable. "--w" lets you watch the delivery process, allowing you to verify that delivery actually occurs. This switch, therefore, is useful when the mail is important and you are not adequately certain that the mail system can be trusted, such as when it is newly installed on the system. To use both switches, simply specify "--yw".
"v6mail Farber" gives a message with the following headers:
V6mail doesn't like empty .signature files.